const { dest } = require('gulp');
const browserify = require('browserify');
const stream = require('vinyl-source-stream');
const buffer = require('vinyl-buffer');
const uglify = require('gulp-uglify');

function goweb() {
  // 定义入口文件
  return browserify({
    entries: 'src/main.js',
    debug: true
  })
    // 转成node readabel stream流，拥有pipe方法（stream流分小片段传输）
    .bundle()
    .on('error', function (error) {
      console.log(error.toString())
    })
    // 转成gulp系的stream流，node系只有content，添加名字
    .pipe(stream('index.js'))
    // 转成二进制的流（二进制方式整体传输）
    .pipe(buffer())
    .pipe(uglify())
    // 输出
    .pipe(dest('dist/js/'))
}

module.exports = goweb